MV - CPCEMU Disk-File Disk-Info ZX-Modules(Track-Info  R ( *RTrack-Info  R 3DOXO 1 7 3DOXO 2 3DOXO 3  3DOXO 3 3DOXO  DISK PLUS3DOSMGML0 6700, 236099\,0  ':IV=0:B$=" ":C$=B$  7500L  L=9 ,7750F:M$=" ":QW=4:7900 37:M$="GOOD LUCK ...":7900:502 #b:21,0;" ":N=120:A=3582 :0.05|L,-20:N::GI=0 (*2000:M$="STAND BY ..":4000 )XO(4):T(124|):M(124|):H(9 ):G(9 ):P(3):N(3) *0GI=0:TO=0:X(8):Y(8) +:8000@ - FL=0 d=P(1)=25:P(2)=5:P(3)=1 nY$="N"530 $TO=0:X(8):Y(8)  85004! FBH=N(1)*P(1)+N(2)*P(2)+N(3)*P(3) %BH<31BH>124|700 M(BH)1700 .M(BH)=3:F$=B$:2500 :1000  0FLPLUS3DOS@F`@؄C@ O #N@Gr Ax| {e@- A>  "d@p ! /r@a  @Track-Info  R Aq#@B8 6  O`A FB  A #l ? { g O؄C@8?!c@0?<px ?,#l8A N0|p|?BA '1??~ 6@B8pAq??x< `x<?? ? @a<0 rB2 ?p@00@<` xx ! h9@p08"d` ? ?<x? A>A @-8 e&?p?p< x Ax|!xGrN s? `@0??8<|>|~|>h|>  t&Ht& 8x??<<;|.|.T(]>|6|>| ????a~`d>p|>|.|.^?t>? wp|aC0 L>0 ޔ0t.l>l>~O'|>' o8?oOO L> 8t.l.l.0GO`0\>0 π8g8OO'|>'xt.l. l.0``l6 0;<|???L>M&|>|&|p ||>x|> 0X"b@X@ Track-Info  R x@@@@@@@@@@@@B@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FF@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FFFFFFF@@@@@@@@@@@@@@@@F@@@@@@@@FFFFFFFF@@@B@@@@@@@@@@@@@@@@@@@@FFFFFFFF@@@B@@@@@@@@@@@@@@@@@@@@FF@FFFFF@@@@@@F@@@@@@@@@@@@@@@@@@@@@FFFF@@@@@@@@@@@@@@@@@DDDD@@@@@@FFFFF@@@@@@@@@@@@@@@DDDDDD@@@@@@FFFFF@@@@@@@@@@@@@@@DDDDDD@@@@@@FFFFF@@@@@@@@@@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD@@@@@@@@@@@@@@@@@@EEEEEEEEEEEE@@EEEEEEEEEEEEEEE@EEE@@@@@@@GGEEE@EEEEEEEEEEEEEEEEE@GGGGGGGGGGGGEEEEEEEEEEEEEEEE@E@@GGGGGGGGGGGG@EEDDDDDDDDDDDDD@EE@EEEEEEEEEEEEEEEDDDDDDDDDDDDD@@EEE@@@@@@@@@@EEE@@@@@@@@@@@@@@@@@@EEEEEEEEEEEE@@PLUS3DOShPe"D/_ (_~~~~~~>>>>>~~~~~|xp`@?/_w/_kfflxp`@/[kwjdhp`@/_Wkzthp`@WFTxp`@?aaOOLL~>>|<"T^~G`? (?`COOM||t|tttd~>>...&b ]OO`?`0 '&| |>|||lllL@>..>..*t>?'0&|<>>>>|x hذX6t|\l<H|>>>6<?poܘ?og;?w?DE JKPQJKZ":A=3582 :0.10}L,34" Z1;4;21,19;"[\\\\\\\\\\\]":A=3582 :0.10}L,32 EN=015:0.10}L,30-N*2:A=3582 :N   PRINT HIDDEN BOARD   PC:PC N=03:(N*5),7;"11111111";(N*5)+1,6;"$";34";"!";34";"!";34";"!";34";"2" [(N*5)+2,5;"$";34";"!";34";"!";34";"!";34";"34" [(N*5)+3,4;"$";34";"!";34";"!";34";"!";34";"56" [(N*5)+4,3;"$";34";"!";34";"!";34";"!";34";"78" N @N=03:(N*5)+5,3;"'()*+,-.9":N Q1,2;"11";2,1;"$";34";"2";3,1;"'(4" Q6,2;"11";7,1;"$";34";"3";8,1;")*6" T11 ,2;"11";12 ,1;"$";34";"5";13 ,1;"+,8"  T16,2;"11";17,1;"$";34";"7";18,1;"-.`"   20,11 ;"`"   NOW COLOUR IT IN,   BC=69E !PC=2BC=21 %) N=020:I=013 &[22529X+I+(32 *N),120x:0.001wn,60<:22529X+I+(32 *N),BC *I:N /%SP=21:21004:2160p 1 2 MOVE IN INVADERS 3 41U$=" ":Z$="_ _ _ _ _":X$="^ ^ ^ ^ ^" ><IY=7:IH=6:PC=2IY=7:IH=0 ?IS=IH HNPC=0N=SP12 -1:1;IS;N,22;Z$:.05|L,N IPC=2N=SP12 -1:1;IS;N,22;"_";N,24;"_";N,26;"_";N,28;"_";N,30;"_":.05|L,N JN12 N,22;U$:N RNPC=0N=SP13 -1:1;IS;N,21;Z$:.05|L,N SPC=2N=SP13 -1:1;IS;N,21;"_";N,23;"_";N,25;"_";N,27;"_";N,29;"_":.05|L,N TN13 N,21;U$:N [ N=59 \6PC=0IY;1;N,21;X$:.05|L,N ]PC=2N=59 :1;IY;N,21;"^";N,23;"^";N,25;"^";N,27;"^";N,29;"^":.05|L,N ^N9 N,21;U$:N e N=58 f6PC=0IY;1;N,22;X$:.05|L,N gPC=2N=58:1;IY;N,22;"^";N,24;"^";N,26;"^";N,28;"^";N,30;"^":.05|L,N hN8N,22;U$:N j o pINSTRUCTION WINDOW q z5;1;17,19;"RSSSSSSSSSSST";18,19;"U";18,31;"V";19,19;"W";19,31;"X" |d4;1;20,19;"Y";20,31;"Z";21,19;"[\\\\\\\\\\\]" ~Yn=02:1;2;2;18+n,20;" ":n -236066\,0:236077\,60<:  INVADER MOVE  F$"S"2600(  I=(*5)+1 5I=1M$="TRY THIS ..":4000:2515 5I=2M$="TAKE THAT .":4000:2515 5I=3M$="WATCH THIS.":4000:2515 M$="O.K. ":4000  CALC TARGET POSITION  -236066\,72H:236077\,194 jXO=(((N(3)-1)*2)+8)-(N(2)):YO=((N(1)-1)*5)+(N(2)) LIS=IH:CV=0:CH=95_:RR=(*2):RC=((*5))*2 1(12 +RR,(22-RR)+RC)=" "2530 %YM=12 +RR:XM=(22-RR)+RC , :MOVE INVADERS  .1;ITrack-Info  R S;YM,XM;"d":0.01z# =,30 .1;IS;YM,XM;"e":0.01z# =,30 .1;IS;YM,XM;"f":0.01z# =,30 .1;IS;YM,XM;"_":0.01z# =,30 n N=YM12 -1:1;IS;YM,XM;"_":0.01z# =,30:0;YM,XM;" ":YM=YM-1:N e N=XM18-1:1;IS;YM,XM;CH:0.01z# =,30:YM,XM;" ":XM=XM-1:N (N(1)-1)*5>YMN=YM((N(1)-1)*5)-1:1;IS;YM,XM;CH:0.01z# =,30:YM,XM;" ":YM=YM+1:N:2550 (N(1)-1)*5.1;IS;YM,XM;"c":0.01z# =,30 ?.1;IS;YM,XM;"^":0.01z# =,30 Fd N=YM9 :1;IS;YM,XM;"^":0.01z# =,30:0;YM,XM;" ":YM=YM+1:N P 2541 T  MATHS  MA=0 I=14 J=14 K=14 ?M(I*P(1)+J*P(2)+K*P(3))13070 -V=T(P(1)*I+P(2)*J+P(3)*K) V.22~aG3070 II=I:JJ=J:KK=K:MA=V K:J:I   ) PRINT IN INSTRUCTION WINDOW  C$=M$ N=111 ұM$(NN)" "1;7;2;1;20,19+N;M$(NN):0.01z# =,1:7;1;2;1;20,19+N;M$(NN):4080 K7;1;2;20,19+N;"_":0.002xn,20 57;1;2;20,19+N;" " N A$=B$:B$=C$:7;1;2;18,20;A$;19,20;B$;20,20;" ":0.01z# =,-20 = 7;1;2;1;20,20;">"    I WIN  /N=10 60<5:0.003xD,N:N = M$="*HARD LUCK*":4000:M$="** I WIN **":4000    YOU WIN (NO CHANCE)  /N=10 60<10 :0.01z# =,N:N = M$="* RATS ... ":4000:M$=" YOU WON!! ":4000   A DRAW !!!! (?)  0N=60<10 -10 :0.01z# =,N:N = M$="* YOU HELD ":4000:M$=" A DRAW .. ":4000   c dA REPLACEMENT INVADER? e s AX=(*5)*2 t AY=0 uCV=36600 xS(22528X+(22+AX-AY)+(32 *(AY+12 )))=(PC*8)6540 } AY=1 S(22528X+(22+AX-AY)+(32 *(AY+12 )))=(PC*8)6540  2581 { I=16(AY+12 )-1:1;IS;I,(22+AX-AY);"_":0.01z# =,30:I,(22+AX-AY);" ":I S1;IS;(AY+12 ),(22+AX-AY);(100d-CV):0.01z# =,30 S1;IS;(AY+12 ),(22+AX-AY);(101e-CV):0.01z# =,30 S1;IS;(AY+12 ),(22+AX-AY);(102f-CV):0.01z# =,30 G1;IS;(AY+12 ),(22+AX-AY);CH:0.01z# =,30  )YOUR REPLACEMENT INVADER R(22528X+(22+AX-AY)+(32 *(AY+8)))=(PC*8)6640  AY=1 R(22528X+(2Track-Info  R 2+AX-AY)+(32 *(AY+8)))=(PC*8)6640 2499 :2581 p I=5(AY+8):1;IS;I,(22+AX-AY);"^":0.01z# =,30:I,(22+AX-AY);" ":I R1;IS;(AY+8),(22+AX-AY);(100d-CV):0.01z# =,30 R1;IS;(AY+8),(22+AX-AY);(101e-CV):0.01z# =,30 R1;IS;(AY+8),(22+AX-AY);(102f-CV):0.01z# =,30 F1;IS;(AY+8),(22+AX-AY);CH:0.01z# =,30  ,OPENING MUSIC 1:N=15:A=1N:0.03{u\,22:1:A 3.A=1N:0.03{u\,24:1:A 4.A=1N:0.03{u\,20:1:A 5-A=1N:0.03{u\,8:1:A 6.A=1N:0.03{u\,15:1:A @(N=120:A=3582 :N: X YDISPLAY WINNING LINE Z ]-236066\,72H:236077\,194 bI=(*4)+1 gO(I)=XX+I*YY lN(1)=(O(I)/25):N(2)=((O(I)-(25*N(1)))/5):N(3)=(O(I)-25*N(1)-5*N(2)) vjXO=(((N(3)-1)*2)+8)-(N(2)):YO=((N(1)-1)*5)+(N(2)) Q1;IS;YO,XO;(CH+9 ):0.01z# =,30:1;IS;YO,XO;CH =""7010b  NEW GAME   2499 <M$="DO YOU WANT":4000:M$="A NEW GAME?":4000 b=78Nů=110nM$="NO. ":4000:M$="O.K. ":4000:7400 b=89Yů=121yM$="YES. ":4000:M$="O.K. ":4000:7120  7111   CLEAR SCREEN  -236066\,72H:236077\,194 JX=1175:C=03:N=062 y(22528X+(7-C)+N+(32 *(X+C)))=(PC*8)+IY+64@1;5;X+C,7-C+N;34":N y(22528X+(7-C)+N+(32 *(X+C)))=(PC*8)+IH+64@1;5;X+C,7-C+N;34":N ߆N:C:X:8,22;" ";9 ,21;" ";12 ,22;" ";13 ,21;" " 1SP=16:N=1100d:N:21004  2499   DO YOU TO PLAY AGAIN?  ?M$="DO YOU WANT":4000:M$="TO GO FIRST":4000: h=78Nů=110nM$="NO. ":4000:M$="O.K. ":4000:F$="N":41) h=89Yů=121yM$="YES. ":4000:M$="O.K. ":4000:Y$="Y":41)  7160  CLEAR SCREEN  &N=122:A=3582 :N  :7700 L Minstructions N V3:QW=1:4:1:0:0: W20,0;"" X27:M$="3D OXO INITIALISED ...":7900 [>5:M$="STAND BY ...":QW=4:7900:502 \n7:M$="WELCOME TO 3D OXO ...":7900:4:M$="*********************":QW=6:7900 ]t 7:M$="PLEASE ANSWER Y OR N ...":7900:5:M$="THANKYOU ... ":QW=4:7900:502 `:6: M$="ARE YOU USING A COLOUR T.V. ?":7900 ju5:=89Yů=121yCL=0:M$="YES.":7900:M$="O.K.":QW=4:7900:7550~ tk=78Nů=110nCL=2:M$="NO.":7900:M$="O.K.":QW=4:7900:7550~ } 7530j 96:M$="DO YOU WANT INSTRUCTIONS ?":7900 i5:=89Yů=121yM$="YES.":7900:M$="O.K.":QW=4:7900:7590 _=78Nů=110nM$="NO.":7900:M$="O.K.":QW=4:7900:7610  7570 /7:M$="3D OXO INSTRUCTIONS":7900 /4:M$="*******************":7900 97: M$=" THE IDEA OF THE GAME IS TO ":7900 /M$="FORM A STRAIGHT LINE OF YOUR":7900 0M$="'INVADERS' , WHILE PREVENTING":7900 0M$="THE COMPUTER FROM FORMING ITS":7900 +M$="OWN LINE OF 'INVADERS' .":7900 \M$=" VERTICAL , HORIZONTAL AND":7900:M$="DIAGONAL LINES ALL COUNT ...":7900 `M$=" MOVES FOLLOW THE SEQUENCE":7900:M$="PLANE;ROW;COLUMN ...":QW=4:7900 96:M$="DO YOU WISH TO START NOW ?":7900 s5:=89Yů=121yM$="YES.":7900:M$="O.K.":QW=4:QW=4:7900:16 h5:=78Nů=110nM$="NO.":7900:M$="O.K.":QWTrack-Info  R =4:7900:7700  7620 ;6: M$="DO YOU WISH TO QUIT THE GAME ?":7900 5:=89Yů=121yM$="YES.":7900:M$="O.K.":QW=4:7900:7:M$="GOOD-BYE FOR NOW ...":QW=22:7900:21,0;" ":502: (_=78Nů=110nM$="NO.":7900:M$="O.K.":QW=4:7900:7560 2 7710 E F WHO GOES FIRST G K:6: M$="DO YOU WISH TO GO FIRST ?":7900 Pe5:=89Yů=121yM$="YES.":7900:M$="O.K.":7900:Y$="Y":502: ZQ=78Nů=110nM$="NO.":7900:M$="O.K.":7900:Y$="N": d 7760P   SCROLL UP  N=1̱M$ JM$(NN)" "1;M$(NN);:0.01z# =,1:8;M$(NN);:N /;"_";:0.01z# =,-20:8;" ";:N "":J=1QW (A=3582 :0.01z# =,-20:J 75;21,0;1;">";8; QW=1: ? @3,10 ,2,14,9 ,98b,4,100d,27,900,8,1000,6,-14,18,-98b,12 ,-100d J!I=19 :H(I),G(I):I L5I=31124|:T(I)=0:M(I)=1:I TM31,46.,34",491,106j,121y,109m,124| Y(I=18:J:T(J)=10 :I ^I62>,63?,67C,68D,87W,88X,92\,93] c'I=18:J:T(J)=5:I h !4 YOUR GO !5 !>*N=15:0.1}L,10 :N !CM$="*YOUR MOVE!":4000 !HM$="ENTER PLANE":4000 !M 8900" !RNN(1)=YM:M$=YM+" ":4000:M$="O.K. ? ":4000 !T7="Y"Ŧ="y"M$="YES. ":4000:8540\! !V7="N"Ŧ="n"M$="NO. ":4000:8520H! !W 8532T! !\+ M$="ENTER ROW ":4000:8900" !]NN(2)=YM:M$=YM+" ":4000:M$="O.K. ? ":4000 !`7="Y"Ŧ="y"M$="YES. ":4000:8550f! !a7="N"Ŧ="n"M$="NO. ":4000:8540\! !d 8544`! !fI M$="ENTER ... ":4000:M$="COLUMN ":4000:8900" !gNN(3)=YM:M$=YM+" ":4000:M$="O.K. ? ":4000 !i7="Y"Ŧ="y"M$="YES. ":4000:8560p! !j7="N"Ŧ="n"M$="NO. ":4000:8550f! !k 8553i! !p M$="STAND BY.. ":4000: " "TAKE YOUR MOVE " "="1"YM=1: "="2"YM=2: "="3"YM=3: "="4"YM=4: " 8910" #' #( #) VARIABLES #* #< BC = BOARD COLOUR #A CH = INVADER CHR$ #B. CV = INVADER CHR$ SHIFT #P F$ = WHO'S MOVE #V/ GI = MOVE COUNT ( UP TO 64) #t3 IH = SPECTRUM INVADER INK COLOUR #u/ IS = COMMON INVADER COLOUR #x/ IY = YOUR INVADER INK COLOUR # PC = PAPER COLOUR #1 QW = HOW MANY LINES SCROLL UP #P SP = START POSITION OF SPECTRUM INVADERS $>/ XO = INVADER X TARGET $@0 XM = CURRENT INVADER X VALUE $R/ YO = INVADER Y TARGET $T0 YM = CURRENT INVADER Y VALUE B C  3MARE YOU USING A COLOUR T.V. ?4000: " "TAKE YOUR MOVE " "="1"YM=1: "="2"YM=2: "="3"YM=3: "="4"YM=4: " 8910" #' #( #) VARIABLES #* #< BC = BOARD COLOUR #A CH = INVADER CHR$ #B. CV = INVADER CHR$ SHIFT #P F$ = WHO'S MOVE #V/ GI = MOVE COUNT ( UP TO 64) #t3 IH = SPECTRUM INVADER INK COLOUR #u/ IS = COMMON INVADER COLOUR #x/ IY = YOUR INVADER INK COLOUR # PC = PAPER COLOUR #1 QW = HOW MANYPLUS3DOS  "3doxo" Track-Info  R PLUS3DOSts 0:0:0::2;7;1;21,0;" 3D OXO NOW LOADING " f0,0;"";: "3DOXO.1":0,0;"";:"3DOXO.2":0,0;"";:"3DOXO.3"  Track-Info  R         Track-Info  R         Track-Info  R         Track-Info  R         Track-Info  R         Track-Info  R Track-Info  R Track-Info  R Track-Info  R Track-Info  R Track-Info  R Track-Info  R Track-Info  R Track-Info  R Track-Info  R Track-Info  R Track-Info  R Track-Info  R Track-Info  R Track-Info  R Track-Info  R Track-Info  R Track-Info  R Track-Info  R         Track-Info ! R!!!!!!!!! Track-Info " R""""""""" Track-Info # R######### Track-Info $ R$$$$$$$$$ Track-Info % R%%%%%%%%% Track-Info & R&&&&&&&&& Track-Info ' R'''''''''